#ifndef LIDAR_OBJS_TYPE_H
#define LIDAR_OBJS_TYPE_H
#include "data_pool.h"
namespace perception
{
    namespace lidar_objs
    {
        struct objs_config
        {
            double in_max_cluster_distance; // setRadiusSearch
            double eps_angle;               // 5degree tolerance in normals
            double dbscan_eps;
            float threshold_h;
            float tolerance;
            float cuv_angle;
            float obj_min_z;
            int k_search_num;
            int dbsacn_min_points_num;
            unsigned int min_cluster_size;
            unsigned int method; // 1。为区域生长算法，2为欧式聚类
            void reset()
            {

                in_max_cluster_distance = 0.2;
                tolerance = 0.5f;
                eps_angle = 5 * (M_PI / 180.0); // 区域生长算法的法线夹角， k聚类的
                min_cluster_size = 2;
                method = 1;
                cuv_angle = 3;
                k_search_num = 30;
                obj_min_z = 0.15;
                dbscan_eps = 0.3;
                dbsacn_min_points_num = 6;
            }
        };

        struct obj_struct
        {
            float xmax;
            float xmin;
            float ymax;
            float ymin;
            float zmax;
            float zmin;
            void reset()
            {
                xmax = -100;
                xmin = 100;
                ymax = -20;
                ymin = 20;
                zmax = -10;
                zmin = 10;
            }
        };

    } // lidar_objs
} // perception

#endif